package com.gitee.magic.jdbc.persistence.source.jdbc.script.def;

/**
 * @author start
 */
public abstract class BaseColumnFieldScriptDef {

	/**
	 * 生成脚本在未添加@ColumnDef或添加了未定义@ColumnDef(length)时调用
	 * @return
	 */
	public String buildScripts() {
		return buildScripts(getLength(),getDecimal());
	}
	
	/**
	 * 生成脚本在添加@ColumnDef并定义@ColumnDef(length>0)时调用
	 * @param length
	 * @param dp
	 * @return
	 */
	public String buildScripts(int length, int dp) {
		return String.valueOf(getDataType());
	}

	/**
	 * 当前字段的数据类型
	 * @return
	 */
	public abstract String getDataType();
	
	/**
	 * 长度
	 * @return
	 */
	public int getLength() {
		return 0;
	}
	
	/**
	 * 小数
	 * @return
	 */
	public int getDecimal() {
		return 0;
	}
	
}
